1. Field of the Invention
The present invention relates to metadata that is used to define objects in databases. More specifically, the present invention relates to a method and an apparatus that facilitates merging metadata associated with different versions of objects of a database in a customizable manner.
2. Related Art
Databases typically form the backbone of modern electronic business solutions. As business requirements change over time or are modified to meet local requirements, corresponding modifications may need to occur in the structure of an underlying database. These modifications can cause different versions of the same database to diverge over time. This can cause problems when divergent versions of a database need to be subsequently reconciled or updated.
Database objects are typically defined using metadata. The properties, attributes, and relationship of a database object with other database objects can be described using the unified modeling language (UML). The structure of metadata can be modeled using UML (Unified Modeling Language) to define a series of classes, associations, and attributes. For instance, a Table is a Class, a Column is a Class, and a Partition is a Class. ‘Name’ is an Attribute that exists for a Table, Column, and a Partition Class. A relationship exists between Table and Column (a table owns a column), and so we say there is an Association between the Table Class and Column Class. An end user typically receives metadata that defines a database object, for example a table, from a solutions provider. After receiving this metadata, the end user can typically customize the metadata to change the structure of the metadata object. For example, an end user may customize the metadata to add an additional column to a table or to change a property of the table.
It is possible for different end users to customize the same metadata in different ways. For example, end users in a multi-national corporation located in different jurisdictions may customize metadata to allow a corresponding database to accommodate specific data items required by their local jurisdictions.
In some circumstances, it is desirable to merge different versions of metadata. For example, a solutions provider may generate a new version of the metadata to enhance the database object, or management may want the metadata for two or more databases to be merged. This merging process is presently performed manually, and consequently involves a significant amount of time and effort.
Hence, what is needed is a method and an apparatus that facilitates merging different versions of a database without the problems described above.